
package com.joysuch.wwyt.datadump.biz.model;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.zlg.common.datadump.annotation.DataDumpEntity;
import cn.zlg.common.datadump.annotation.DataDumpField;
import com.joysuch.wwyt.bp.entity.dsl.QBpDepart;
import com.joysuch.wwyt.bp.entity.dsl.QBpIndustrialPipeline;
import com.joysuch.wwyt.datadump.biz.convertor.ExportBpIndustrialPiplelineStateConvertor;
import com.joysuch.wwyt.datadump.biz.convertor.ExportGetDepartNameByIdConvertor;
import com.joysuch.wwyt.datadump.biz.convertor.ExportYesNoConvertor;
import com.joysuch.wwyt.datadump.biz.query.BpIndustrialPiplelineDumpQueryBean;
import lombok.Data;

import java.util.Date;

@DataDumpEntity(name = "bp-industrial-pipeline-dump", entity = QBpIndustrialPipeline.class, exportQueryConditions = BpIndustrialPiplelineDumpQueryBean.class, businessName = "工业管道")
@Data
public class BpIndustrialPipelineDumpBean {
    @Excel(name = "管道编号", width = 20)
    @DataDumpField(field = "code")
    private String code;

    @Excel(name = "管道名称", width = 20)
    @DataDumpField(field = "name")
    private String name;

    @Excel(name = "责任部门名称", width = 20)
    @DataDumpField(field = "responsibleDept", referenceEntity = QBpDepart.class, referenceEntityField = "name")
    private String responsibleDeptName;

    @Excel(name = "上级责任部门名称", width = 20)
    @DataDumpField(field = "responsibleDept", referenceEntity = QBpDepart.class, referenceEntityField = "parentId", exportConvertors = {
            ExportGetDepartNameByIdConvertor.class })
    private String parentResponsibleDeptName;

    @Excel(name = "输送介质", width = 20)
    @DataDumpField(field = "transportMedium")
    private String transportMedium;

    @Excel(name = "介质状态", width = 20)
    @DataDumpField(field = "mediumState")
    private String mediumState;

    @Excel(name = "输送能力", width = 20)
    @DataDumpField(field = "transportAbility")
    private String transportAbility;

    @Excel(name = "总长度m", width = 20)
    @DataDumpField(field = "length")
    private Float length;

    @Excel(name = "目前状态", width = 20)
    @DataDumpField(field = "currentState", exportConvertors = ExportBpIndustrialPiplelineStateConvertor.class)
    private String currentStateName;

    @Excel(name = "管道材质", width = 20)
    @DataDumpField(field = "material")
    private String material;

    @Excel(name = "架设方式", width = 20)
    @DataDumpField(field = "setupMethod")
    private String setupMethod;

    @Excel(name = "是否为压力管道", width = 20)
    @DataDumpField(field = "isPressurePipeline", exportConvertors = ExportYesNoConvertor.class)
    private String isPressurePipeline;

    @Excel(name = "压力等级", width = 20)
    @DataDumpField(field = "pressureLevel")
    private String pressureLevel;

    @Excel(name = "是否危化品管道", width = 20)
    @DataDumpField(field = "isHchPipeline", exportConvertors = ExportYesNoConvertor.class)
    private String isHchPipeline;

    @Excel(name = "危化品名称", width = 20)
    @DataDumpField(field = "hchName")
    private String hchName;

    @Excel(name = "投产日期", width = 20, format = "yyyy-MM-dd")
    @DataDumpField(field = "commissioningDate")
    private Date commissioningDate;

    @Excel(name = "操作压力上限(kPa)", width = 20)
    @DataDumpField(field = "opPressureHighValue")
    private Float opPressureHighValue;

    @Excel(name = "操作压力下限(kPa)", width = 20)
    @DataDumpField(field = "opPressureLowValue")
    private Float opPressureLowValue;

    @Excel(name = "操作温度上限 ℃", width = 20)
    @DataDumpField(field = "opTemperatureHighValue")
    private Float opTemperatureHighValue;

    @Excel(name = "操作温度下限 ℃", width = 20)
    @DataDumpField(field = "opTemperatureLowValue")
    private Float opTemperatureLowValue;

    @Excel(name = "工作压力区间（下）kpa", width = 20)
    @DataDumpField(field = "workPressureLowValue")
    private Float workPressureLowValue;

    @Excel(name = "工作压力区间（上）kpa", width = 20)
    @DataDumpField(field = "workPressureHighValue")
    private Float workPressureHighValue;

    @Excel(name = "工作温度区间（下）℃", width = 20)
    @DataDumpField(field = "workTemperatureLowValue")
    private Float workTemperatureLowValue;

    @Excel(name = "工作温度区间（上）℃", width = 20)
    @DataDumpField(field = "workTemperatureHighValue")
    private Float workTemperatureHighValue;

    @Excel(name = "设计压力kpa", width = 20)
    @DataDumpField(field = "designPressure")
    private Float designPressure;

}
